Motion estimation and compensation in cone beam computed tomography (CBCT)

ABSTRACT

In various embodiments, the present invention provides an improved system and method for motion estimation and motion compensation in cone beam computer tomography (CBCT). The present invention utilizes a method for alternating minimization between volume and motion sub-iterations and results in an improved system and method for motion estimation and compensation in CBCT.

CROSS-REFERENCE TO RELATED APPLICATIONS

This application claims priority to currently U.S. Provisional Patent Application No. 62/791,729 filed on Jan. 11, 2019 and entitled “Motion Estimation and Compensation in Cone Beam Computed Tomography (CBCT)”, the entirety of which is incorporated herein by reference.

BACKGROUND OF THE INVENTION

Accuracy of Cone Beam Computed Tomography (CBCT) images used in radiation treatment of disease sites in the human body is affected by motion artifacts, such as blurring and streaking. These undesirable motion artifacts can result in imprecise patient positioning and unnecessary irradiation of healthy tissue. Other applications in which motion impacts image quality exist as well, such as dental CBCT. Additionally, CBCT scans are generally much slower than conventional clinical CT scans and therefore are very susceptible to motion artifacts. The term ‘motion’ herein includes both the motion in the conventional sense of the term, but also ‘deformation’, e.g. as the inner organs are deforming when the person is breathing.

State-of-the-art reconstruction algorithms cannot accurately estimate the motion and compensate for the motion in cases where the region being imaged has mostly low-contrast features, as is commonly the case with CBCT abdomen imaging.

Accordingly, there exists a need for a practical reconstruction algorithm that is more accurate than the current state of the art. Accordingly, what is needed in the art is an improved system and method for motion estimation and compensation in CBCT that exceeds those currently known in the art.

SUMMARY OF INVENTION

In various embodiments, the present invention provides an improved system and method for Four-Dimensional Cone-Beam CT (CBCT) that may be utilized for locating disease (e.g., tumors) prior to the delivery of radiation treatment.

In one embodiment, the present invention provides a method for motion estimation and compensation using X-ray projection scan data. The method includes, acquiring tomographic projection data of a moving object of interest and sorting the projection data according to the motion phase to generate phase-sorted projection data. The method further includes, loading the phase-sorted projection data, initializing a global iteration counter, updating one or more regularization parameters, based upon the phase-sorted projection data, performing a volume sub-iteration of the phase-sorted projection data using the one or more regularization parameters and performing a motion sub-iteration of the phase-sorted projection data using the one or more regularization parameters. Additionally, if the global iteration counter is not equal to a total number of global iteration steps, the method continues by incrementing the global iteration counter and iteratively repeating the steps of updating the one or more regularization parameters, performing volume sub-iteration and performing motion sub-iteration until the global iteration counter is equal to the total number of global iteration steps to estimate the motion of the object of interest during the scan and reconstruct the object.

The result of the final motion sub-iteration of the method can then be used to perform a separate motion compensated reconstruction of an image of the object of interest using the estimated motion of the object of interest.

In the present invention, the volume sub-iteration and the motion sub-iteration are executed independently. Also, in this embodiment, the motion sub-iteration consists of estimating phase Motion Vector Fields (MVFs) between phase volume images. When referring to MVFs, the word ‘velocity’ may also be used

The volume sub-iteration of the global iteration process further includes, resetting Nesterov's parameters, setting a volume sub-iteration counter to zero, computing a volume preconditioner, computing a volume gradient of data fidelity, computing a volume gradient of regularizer, computing a volume gradient of volume-velocity constraint, also referred to as the optical flow constraint (OFC), performing a Nesterov update. Additionally, if the volume sub-iteration counter is not equal to a total number of volume sub-iteration steps, the method continues by incrementing the volume sub-iteration counter and iteratively repeating the steps of computing a volume preconditioner, computing a volume gradient of data fidelity, computing a volume gradient of regularizer, computing a volume gradient of the OFC and performing a Nesterov update until the volume sub-iteration counter is equal to the total number of volume sub-iteration steps.

The motion sub-iteration of the global iteration process further includes, resetting Nesterov's parameters, setting a motion sub-iteration counter to zero, computing a velocity preconditioner, computing a velocity gradient of the OFC, computing a velocity gradient of regularizer, subtracting a mean and setting stationary object velocity to zero, performing a Nesterov update. Additionally, if a difference between consecutive sub-iteration values of the functional being minimized is not lower than a specified threshold value, the method continues by incrementing the motion sub-iteration counter and iteratively repeating the steps of computing a velocity preconditioner, computing a velocity gradient of the OFC, computing a velocity gradient of regularizer, subtracting a mean and setting stationary object velocity to zero and performing a Nesterov update until the difference between consecutive sub-iteration values of the functional being minimized is lower than the specified threshold value.

In one embodiment, the one or more regularization parameters may be updated monotonically. In an additional embodiment, the one or more regularization parameters, for example the OFC strength, may be updated non-monotonically.

In an additional embodiment, the method may use a global in time deformation function as a primary way to describe motion instead of MVFs. In this case, the method may further include modifying the OFC to use MVFs. These MVFs is a secondary way to describe motion, since they are derived from the motion function (the primary way). The MVFs are described on a regular grid during volume sub-iterations to remove speckle artifacts.

This invention is applicable to virtually all radiotherapy (for cancer treatment) CBCT systems, including but not limited to, dental CT systems and other types of CBCT scanners where data acquisition is relatively slow. The invention is additionally applicable to various other modalities and scanning equipment, including, but not limited to clinical Computed Tomography (“CT”), industrial CT, flat panel CT (e.g., C-arms), x-ray diffraction and x-ray based imaging equipment. The inventive concepts can also be applied to other imaging techniques that are not based on x-ray imaging.

The present invention provides for improved image quality compared with known state-of-the-art imaging systems, particularly when imaging complicated low-contrast anatomy, such as in the abdomen of a patient.

BRIEF DESCRIPTION OF THE FIGURES

For a fuller understanding of the invention, reference should be made to the following detailed description, taken in connection with the accompanying drawings, in which:

FIG. 1 is an illustration of an exemplary helical computer tomography (CT) scanner, in accordance with an embodiment of the present invention.

FIG. 2 is a flow diagram illustrating the global iteration process for motion estimation, in accordance with an embodiment of the present invention.

FIG. 3 is a flow diagram illustrating the volume sub-iteration process for motion estimation, in accordance with an embodiment of the present invention.

FIG. 4 is a flow diagram illustrating the motion sub-iteration process for motion estimation, in accordance with an embodiment of the present invention.

FIG. 5A is a graphical illustration of monotonically incrementing the parameters along the global iterations, in accordance with an embodiment of the present invention.

FIG. 5B is a graphical illustration of non-monotonically incrementing the parameters along the global iterations, in accordance with an embodiment of the present invention.

DETAILED DESCRIPTION OF THE INVENTION

Motion of an object of interest commonly occurs during an imaging scan, such as the natural breathing motion of a patient during a computed tomography (CT) imaging of the patient's abdomen. In various embodiments, the present invention provides a system and method for estimating and compensating for this motion during the reconstruction of the image from the projection data acquired by the CT scanner.

FIG. 1 illustrates an exemplary embodiment of a helical CT scanner system 100 according to the present invention. This embodiment is intended to be exemplary and the present invention will be described as relating to medical imaging. However, this is not intended to be limited and various embodiments of the present invention may also be used for other purposes, such as baggage scanning for security and material analysis. Additionally, while a circular CT scanner system is illustrated numerous other scanning devices for collecting projection data are within the scope of the present invention.

As shown in FIG. 1, a circular CT scanner system 100 includes a gantry 102 which is rotatable around a rotational axis 105. The gantry 102 carries a radiation source 110 that forms a cone shaped radiation beam 115. The radiation beam 115 emitted from the radiation source 110 is focused on an object of interest 120 positioned in the center of the gantry 102. A radiation detector 125 is positioned on the gantry 102 opposite from the radiation source 110. The radiation detector 125 comprises a plurality of detector elements for measuring the intensity of the cone shaped radiation beam 115 after it passes through the object of interest 120.

During a scan of the object of interest 120, the radiation source 110 and the radiation detector 125 are rotated with the gantry 102 in a direction indicated 145. The object of interest 120 is additionally positioned on a stationary table 130.

Following the circular scanning of the object of interest 120, the radiation detector 125 provides the collected helical CT scan data to a data processor 135. The data processor 135 is adapted for reconstructing an image from the measurements provided by the radiation detector 125. The image generated by the data processor 135 may then be provided to a display 140 for subsequent viewing.

The data processor 135 is additionally adapted to perform motion estimation and motion compensation to correct for motion in the scan data provided by the radiation detector 125. Motion estimation and compensation may be performed by the data processor 135 as detailed below.

Throughout the detailed description of the invention, the following notations will be used:

i_(q) qth axis volume grid index

j_(q) axis velocity grid index

k detector grid index

m source position (projection data) index

n_(g) global iteration step index

n_(s) sub-iteration step index

p phase bin index

q spatial coordinate axis index

K total number of detector pixels

M total number of source positions (projection data)

N total number of volume voxels

Ñ total number of velocity voxels

N_(g) total number of global iteration steps

N_(p) total phase of bins

N_(q) total number of volume voxels along qth axis

Ñ_(q) total number of velocity voxels along qth axis

N_(s) total number of volume sub-iteration steps

Ñ_(s) total number of velocity sub-iteration steps

In the method of the present invention, the reconstruction volume grid is given by: {right arrow over (x)} ₁=(h ₁ i ₁ ,h ₂ i ₂ ,h ₃ i ₃),i=(i ₁ ,i ₂ ,i ₃), for 0≤i _(q) <N _(q) ,q=1,2,3.  (1.1)

If the values of a function ƒ are given on the grid (1.1): ƒ_(i)=ƒ({right arrow over (x)}_(i)), then the interpolated function becomes:

$\begin{matrix} {{f\left( \overset{\rightarrow}{x} \right)} \approx {\sum\limits_{i}\;{f_{i}{{\varphi_{h}\left( {\overset{\rightarrow}{x} - {\overset{\rightarrow}{x}}_{i}} \right)}.}}}} & (1.2) \end{matrix}$

The deformation (or, ‘motion’) of the object is described by the function {right arrow over (ψ)}(s, {right arrow over (x)}). Here s is time of phase point of a breathing cycle of a patient being imaged. {right arrow over (y)}={right arrow over (ψ)}(s,{right arrow over (x)}),  (1.3)

The Equation (1.3) means that the physical point, which at current time s is located at {right arrow over (x)}, was located at {right arrow over (y)} at reference time s_(ref). It is assumed, of course, that {right arrow over (ψ)}(s_(ref), {right arrow over (x)})={right arrow over (x)}. Hence, the dynamic attenuation coefficient is given by: ƒ(s,{right arrow over (x)})=ƒ₀({right arrow over (ψ)}(s,{right arrow over (x)})),  (1.4)

where f₀({right arrow over (x)}) is the spatial distribution of the attenuation coefficient at reference time.

Additionally, the linear interpolation kernel is used for volume grid (φ_(h)), and the cubic B-spline kernel for the motion grid ({tilde over (φ)}_(h)). An exact interpolation of the tri-cubic B-spline is also used for volume-to-motion grid transformation.

To describe the motion function, a motion grid is introduced: {right arrow over (m)} _(j)=({tilde over (h)} ₁ j ₁ ,{tilde over (h)} ₂ j ₂ ,{tilde over (h)} ₃ j ₃),j=(j ₁ ,j ₂ ,j ₃), for 0≤j _(q) <Ñ _(q) ,q=1,2,3.  (1.5)

To enforce smoothness of the motion function, {tilde over (h)}_(q)>>h_(q) and Ñ_(q)>>N_(q) are selected and c_(j)(s) is some function of time. To make sure the motion grid (1.5) covers the same region as the reconstruction grid (1.1), it is required that: {tilde over (h)} _(q) Ñ _(q) =h _(q) N _(q) =: H _(q).  (1.6)

Then

$\begin{matrix} {{\overset{\rightarrow}{\varphi}\left( {s,\overset{\rightarrow}{x}} \right)} = {\sum\limits_{i \leq j_{q} < {\overset{\sim}{N}}_{q}}\;{{{\overset{\rightarrow}{c}}_{j}(s)}{{{\overset{\sim}{\varphi}}_{h}\left( {\overset{\rightarrow}{x} - {\overset{\rightarrow}{m}}_{j}} \right)}.}}}} & (1.7) \end{matrix}$

For the data points outside the actual data region, the clamped boundary condition is used, i.e., the data point outside the domain has the same value as the closest boundary value.

In accordance with the present invention, the method and associated algorithm solves the motion estimation problem by finding functions ƒ(s, {right arrow over (x)})) and {right arrow over (φ)}(s, {right arrow over (x)}), so that the following equation holds: ƒ(s,{right arrow over (x)})=ƒ₀({right arrow over (ψ)}(s,{right arrow over (x)})),  (2.1)

where f₀({right arrow over (x)}) is the volume of the attenuation coefficient at reference time. Introduce a function {right arrow over (u)}(s, {right arrow over (x)}), which is the inverse of {right arrow over (φ)}(s, {right arrow over (x)}). More precisely: {right arrow over (μ)}(s,{right arrow over (ψ)}(s,{right arrow over (x)}))={right arrow over (x)},{right arrow over (ψ)}(s,{right arrow over (μ)}(s,{right arrow over (x)}))={right arrow over (x)}.  (2.2) Equation: {right arrow over (y)}={right arrow over (μ)}(s,{right arrow over (x)})  (2.3)

means that the physical point, which was located at {tilde over (x)} at reference time s_(ref), is located at {tilde over (y)} at current time s. In particular, for a fixed {right arrow over (x)}, {right arrow over (u)}(s, {right arrow over (x)}) is just the curve describing the motion of the particle due to breathing. Hence, the derivative: {right arrow over (v)}(s,{right arrow over (x)})=∂{right arrow over (μ)}(s,{right arrow over (x)})/∂s  (2.4)

is simply the velocity of the particle. Replacing {right arrow over (x)} with {right arrow over (u)}(s, {right arrow over (x)}) in (2.1) and use (2.2) to find: ƒ(s,{right arrow over (μ)}(s,{right arrow over (x)}))=ƒ₀({right arrow over (x)}),  (2.5)

i.e., the left side of (2.5) is independent of s. Differentiate (2.5) with respect to s and use (2.4) gives:

$\begin{matrix} {{\frac{\partial{f\left( {s,{\overset{\rightarrow}{\mu}\left( {s,\overset{\rightarrow}{x}} \right)}} \right)}}{\partial s} + {{\nabla{f\left( {s,{\overset{\rightarrow}{\mu}\left( {s,\overset{\rightarrow}{x}} \right)}} \right)}} \cdot {\overset{\rightarrow}{\upsilon}\left( {s,\overset{\rightarrow}{x}} \right)}}} = 0.} & (2.6) \end{matrix}$

Denote {right arrow over (y)}={right arrow over (u)}(s, {right arrow over (x)}). Then, because of (2.2), {right arrow over (x)}={right arrow over (ψ)}(s, {right arrow over (y)}). Using in (2.6) gives:

$\begin{matrix} {{\frac{\partial{f\left( {s,\overset{\rightarrow}{y}} \right)}}{\partial s} + {{f\left( {s,\overset{\rightarrow}{y}} \right)} \cdot {\overset{\rightarrow}{v}\left( {s,{\overset{\rightarrow}{\psi}\left( {s,\overset{\rightarrow}{y}} \right)}} \right)}}} = 0.} & (2.7) \end{matrix}$

Denote: {right arrow over (v)}*(s,{right arrow over (y)}):={right arrow over (v)}(s,{right arrow over (ψ)}(s,{right arrow over (y)})).  (2.8)

Then (2.7) simplifies as follows:

$\begin{matrix} {{\frac{\partial{f\left( {s,\overset{\rightarrow}{y}} \right)}}{\partial s} + {{\nabla{f\left( {s,\overset{\rightarrow}{y}} \right)}} \cdot {{\overset{\rightarrow}{v}}_{*}\left( {s,\overset{\rightarrow}{y}} \right)}}} = 0.} & (2.7) \end{matrix}$

Thus, (2.9) is a necessary condition for a function ƒ(s, {right arrow over (y)}) to satisfy (2.5).

Following is a more detailed description of the proposed method of the invention.

Let s_(m), 0≤m<M, be the collection of times corresponding to the measured views, and L_(mk), 0≤k<K, be the collection of lines corresponding to the mth radiation source position. In other words, L_(mk) is the line through the mth source position and the kth detector pixel. It is assumed that the detector consists of K pixels. The measured data are denoted G_(mk). Finding f(s, {right arrow over (y)}) and {right arrow over (v)}*(s, {right arrow over (y)}) can be done by minimizing the following functional:

$\begin{matrix} {{\Phi\left( {f,{\overset{\rightarrow}{v}}_{*}} \right)} = {{\frac{1}{2}{\sum\limits_{mk}{w_{mk}\left\lbrack {G_{mk} - {\int_{\mathcal{L}\;{mk}}{{f\left( {s_{m},\overset{\rightarrow}{x}} \right)}d\;\ell}}} \right\rbrack}^{2}}} + {\frac{\lambda}{2}{\sum\limits_{i}{\int_{0}^{\Delta\; S}{\left\lbrack {\frac{\partial{f\left( {s,{\overset{\rightarrow}{x}}_{i}} \right)}}{\partial s} + {{\nabla{f\left( {s,{\overset{\rightarrow}{x}}_{i}} \right)}} \cdot {{\overset{\rightarrow}{v}}_{*}\left( {s,{\overset{\rightarrow}{x}}_{i}} \right)}}} \right\rbrack^{2}{ds}}}}} + \left( {{penalty}\mspace{14mu}{term}\mspace{14mu}{enforcing}\mspace{14mu}{smoothness}\mspace{14mu}{of}\mspace{14mu} f} \right) + {\left( {{penalty}\mspace{14mu}{term}\mspace{14mu}{enforcing}\mspace{14mu}{smoothness}\mspace{14mu}{of}\mspace{14mu}{\overset{\rightarrow}{v}}_{*}} \right).}}} & (2.10) \end{matrix}$

Here λ>0 needs to be a large number to enforce the OFC (2.9). In general, volume image is considered as a non-smooth function, while the velocity is considered to be smooth. To match the characteristics of each image, an edge-preserving regularizer for the volume penalty term (hyperbolic potential), and the Tikhonov regularizer for the velocity penalty term are used.

In a particular embodiment, an alternating minimization is used to demonstrate the performance of the proposed method, but other numerical minimization techniques may be applied to find the optimal solution.

In performing the alternating minimization and dynamic parameter selection, let there be N_(p) discrete phase bins. For computational efficiency, G_(mk) is sorted into a group of subsets G_(p) so that the pth subset corresponds to the data within the pth phase bin, i.e., s_(p)≤s_(m)<s_(p+1). Let f and v denote phase and velocity volumes unrolled into 1D vectors, respectively. Then (2.10) can be rewritten in a matrix-vector form as follows: Φ(f,v)=Φ_(L)(f)+λΦ_(fv)(f,v)+k _(f)Φ_(R) _(f) (f)+k _(v)Φ_(R) _(v) (v),  (3.1)

where Φ_(L)(f) is the data fidelity function, Φ_(fv)(f,v) is the OFC penalty, Φ_(R) _(f) (f) is the volume regularizer, and Φ_(R) _(v) (v) is the velocity regularizer defined as:

$\begin{matrix} \begin{matrix} {{\Phi_{L}(f)}\mspace{14mu}\text{=:}{~~~}\frac{1}{2}\left( {G - {Af}} \right)^{T}{W\left( {G - {Af}} \right)}} \\ {= {\frac{1}{2}{\sum\limits_{p}{\left( {G_{p} - {A_{p}f_{p}}} \right)^{T}{W_{p}\left( {G_{p} - {A_{p}f_{p}}} \right)}}}}} \end{matrix} & (3.2) \\ \begin{matrix} {{{\Phi_{fv}\left( {f,v} \right)}\mspace{14mu}\text{=:}{~~~}\frac{1}{2}{{{Df} + {\sum\limits_{q}{{diag}\left\{ {Bv}_{q} \right\} C_{q}f}}}}_{2}^{2}},} \\ {{= {~~}{\frac{1}{2}{\sum\limits_{p}{{\lbrack{Df}\rbrack_{p} + {\sum\limits_{q}{{diag}\left\{ {Bv}_{p,q} \right\} C_{q}f_{p}}}}}_{2}^{2}}}},} \end{matrix} & (3.3) \\ \begin{matrix} {{{\Phi_{R_{4}}(f)}\mspace{14mu}\text{=:}{~~~}{\sum\limits_{q}{\sum\limits_{i}{\phi_{R}\left( {\left\lbrack {C_{q}f} \right\rbrack_{i},\delta} \right)}}}},} \\ {{= {~~}{\sum\limits_{p}{\sum\limits_{q}{\sum\limits_{i}{\phi_{R}\left( {\left\lbrack {C_{q}f_{q}} \right\rbrack_{i},\delta} \right)}}}}},} \end{matrix} & (3.4) \\ \begin{matrix} {{\Phi_{R_{v}}(v)}\mspace{14mu}\text{=:}{~~~}\frac{1}{2}{\sum\limits_{q}{\sum\limits_{r}{{C_{r}v_{q}}}_{2}^{2}}}} \\ {{= {~~}{\frac{1}{2}{\sum\limits_{p}{\sum\limits_{q}{\sum\limits_{r}{{C_{r}v_{p,q}}}_{2}^{2}}}}}},} \end{matrix} & (3.5) \end{matrix}$

where

a. G is the entire set of measured data, and G_(p) is the subset of measured data corresponding to the pth phase bin,

b. f is the entire set of phase volumes in vector form, and f_(p) is the pth phase volume in vector form,

c. v is the entire set of phase velocity form, and v_(p,q) is the qth axis component of velocity vector {right arrow over (v)}* at pth phase bin in vector form,

d. A is the entire projection matrix that projects f onto the data domain corresponding to G, and A_(p) is the projection matrix that projects f_(p) onto the data domain corresponding to G_(p),

e. W is the entire set of weighting matrices, and W_(p) is the weighting matrix corresponding to G_(p),

f. B is the upsampling matrix by cubic B-spline interpolation with the upsampling rate N_(q)/Ñ_(q) along the qth axis,

g. D is the temporal finite difference matrix along the phase bins with periodic boundary conditions,

h. C_(q) is the spatial finite difference matrix along the qth axis with clamped boundaries. Its dimension is determined by the vector to which it applies,

i. diag {t} is the diagonal matrix with the elements of vector t on the main diagonal,

j. [t]_(i) is the ith element (scalar, vector, or matrix) along the first dimension of ector or matrix t.

k. ϕ_(R)(t, δ) is the element-wise hyperbolic potential defined as: ϕ_(R)(t,δ)=δ²(√{square root over (1+(t/δ)²)}−1),  (3.6)

and δ is the shape parameter defining the “edge”.

Note that even though every linear operation is expressed in matrix form in (3.1)-(3.5), the actual computation does not store those matrices in memory, but instead calculates each element when needed. Also note that Φ_(L), Φ_(R) _(f) and Φ_(R) _(v) are phase-separable, i.e., computing the pth terms does not require to access data G_(l) or parameters f_(l) and v_(l) for all l≠p, which is preferred for multi-device parallel computing. However, Φ_(fv) is phase-coupled, and it requires accessing neighboring phases. This data exchange latency can be reduced by computing other phase-separable terms while copying data.

The present invention employs a method of alternating minimization, with respect to volume and velocity. The total cost functional in (3.1) is nonlinear, nonconvex and ill-posed. Minimizing (3.1) with respect to volume and velocity simultaneously often falls into undesirable local minima. The method of alternating minimization, in accordance with the present invention, helps to solve the problem by splitting the problem into two simpler sub-problems and guiding the solution to the desired local minimum.

With the alternating minimization scheme, each global iteration step consists of a set of volume sub-iterations and a set of velocity sub-iterations. In each sub-iteration, the cost functional is minimized with respect to f and with respect to v in an alternating fashion while keeping the other variable fixed. This way, each sub-problem becomes convex, which is easier to solve. Also, parameters of the minimization problem are tuned based on the properties of the currently computed solution or using some other consideration. FIG. 2, FIG. 3 and FIG. 4 are flowcharts illustrating a global iteration, volume sub-iteration and motion sub-iteration, respectively.

The method steps 200 of the present invention for global iteration are illustrated with reference to FIG. 2. Assuming the projection data of the object has been previously collected by a scanner, the method begins by sorting the projection data according to the phase 205. At a next step 210, the phase-sorted projection data is loaded into the data processor, and the global iteration counter is set to zero in the following step 215. The method proceeds by computing one or more regularization parameters at step 220. At step 225, a volume sub-iteration is performed followed by a motion sub-iteration at step 230. The method then checks at step 235 to see if the global iteration counter is equal to a total number of global iteration steps. If the total number of global iteration steps has not yet been reached, at step 245, the iteration counter is incremented and steps 225 and 230 are repeated. The process iteratively repeats until the total number of global iteration steps has been met and the motion has been estimated. The estimated motion can then be used to perform a separate motion compensated reconstruction of the image from the projection data. Alternatively, the set of phase volumes obtained at the end of the last volume sub-iteration can be used by the practitioners.

FIG. 3 further details the volume sub-iteration process 225 of the global iteration process 200 for motion estimation. As shown in FIG. 3, the volume sub-iteration process 225 begins at step 305 by resetting Nesterov's parameters. The method continues at step 310 by setting a volume sub-iteration counter to zero. At step 315, a volume preconditioner is computed. At step 320 a volume gradient of data fidelity is computed and at step 325 a volume gradient of regularizer is computed. The method continues at step 330 by computing a volume gradient of the OFC at then performing a Nesterov update at step 335. At step 340, if the volume sub-iteration counter is not equal to a total number of volume sub-iteration steps, the method continues at step 345 by incrementing the volume sub-iteration counter and iteratively repeating the steps of computing a volume preconditioner 315, computing a volume gradient of data fidelity 320, computing a volume gradient of regularizer 325, computing a volume gradient of the volume-velocity coupling 330 and performing a Nesterov update 335 until the volume sub-iteration counter is determined to be equal to the total number of volume sub-iteration steps at step 340. At step 350, the result of the volume sub-iterations is returned after the total number of volume sub-iteration steps has been met.

FIG. 4 further details the motion sub-iteration process 230 of the global iteration process 200 for motion estimation. As shown in FIG. 4, the motion sub-iteration process 230 begins at step 405 by resetting Nesterov's parameters. The method continues at step 410 by setting a motion sub-iteration counter to zero. At step 415 a velocity preconditioner is computed. A velocity gradient of the OFC is computed at step 420 and a velocity gradient of regularizer is computed at step 425. To remove the false constant motion, the voxel-wise phase mean velocity is subtracted in every motion sub-iteration and the velocity at the boundaries of the ROI (region of interest) is set to zero at step 430. A Nesterov update is then performed at step 435 and if a difference between consecutive sub-iteration values of the functional being minimized is not lower than a specified threshold value, at step 445 the method continues by incrementing the motion sub-iteration counter and iteratively repeating the steps of computing a motion preconditioner 415, computing a velocity gradient of the OFC 420, computing a velocity gradient of regularizer 425, subtracting the mean 430 and performing a Nesterov update 435. The method continues until the difference between consecutive sub-iteration values of the functional being minimized is determined to be lower than the specified threshold value at step 440. At step 450, the result of the motion sub-iteration is returned after the total number of specified threshold has been met.

Starting volume sub-iterations with a large λ when the velocity is initialized as zero often results in an underestimation of the motion. In the extreme case, when λ→∞, phase volume images are averaged at the end of the initial set of volume sub-iterations. Once motion information is lost in the phase-volume images due to the averaging effect, it is hard to recover the motion in the following velocity sub-iterations. To appropriately utilize the OFC penalty, a changing λ is required. On the other hand, the data sampling rate of the phase subset data G_(p) is very low compared to the full angle CT, thus strict phase gating methods often create strong sparse data streak artifacts that adversely affect velocity estimation.

To address this problem, the global iteration process illustrated in FIG. 1 is started with a weak OFC coefficient λ to avoid motion underestimation and strong volume regularizer ϰ_(f) to reduce sparse view-sampling streaks. Then, λ is gradually ramped-up and ϰ_(f) is simultaneously reduced to restore details. For example, the following values for λ and ϰ_(f) may be used at each global iteration step n_(g) using parameters λ_(max), ϰ_(max) and ϰ_(min):

$\begin{matrix} {{{\lambda\left( n_{g} \right)} = {\min\left( {{\lambda_{\max}\frac{n_{g}}{N_{g} - 1}},\lambda_{\max}} \right)}},} & (3.7) \\ {{{\kappa_{f}\left( n_{g} \right)} = {\max\left( {{\kappa_{\max}2^{- n_{g}}},\kappa_{\min}} \right)}},} & (3.8) \end{matrix}$

where N_(g) is the total number of global iteration steps. The estimated velocity is merely an approximation, which may or may not contain errors. To avoid overly-relying on the estimated velocity, λ is set to be no greater than λ_(max) to limit the maximum volume-velocity constraint strength. Also, ϰ_(f) is set to be no less than ϰ_(min) to maintain the denoising property of the regularizer. ϰ_(min) needs to be chosen depending on the intensity of noise in the measured data. In another embodiment, the strength of the OFC may change non-monotonically during global iterations, e.g. in an oscillatory way.

In the present invention, a preconditioner and Nesterov's momentum acceleration method are applied to each sub-iteration step to increase the convergence speed. No acceleration of global iterations is applied, due to the risk of overshooting the instability, considering the global functional is not convex.

In the volume-iteration of the present invention, an approximated Newton's method is used with separable quadratic surrogate preconditioner. First, the gradient of the cost functional with respect to the volume parameters is found as: f _(p) ^((n) ^(g) ^(,n) ^(s) ⁺¹⁾ =f _(p) ^((n) ^(g) ^(,n) ^(s) ⁾ −Ĥ _(f) _(p) ⁻¹∇_(f) _(p) Φ(f ^((n) ^(g) ^(,n) ^(s) ⁾ ,v ^((n) ^(g) ⁻¹⁾),  (3.9)

where n_(s) is the sub-iteration step, v^((n) ^(g) ⁻¹⁾ is the result of the velocity sub-iterations in (n_(g)−1)th global iteration step, ∇_(t) is the gradient operator with respect to t, and Ĥ_(t) is the preconditioner for the update of t. Volume gradient of each component of Φ is as follows:

$\begin{matrix} {{{\nabla_{f_{p}}{\Phi_{L}(f)}} = {A_{p}^{T}{W_{p}\left( {{A_{p}f_{p}} - G_{p}} \right)}}},} & (3.10) \\ {{{\nabla f_{p}}{\Phi_{fv}\left( {f,v} \right)}} = \left( {\left\lbrack {D^{T}g} \right\rbrack_{p} + {\sum\limits_{q}{C_{q}^{T}\left( {{diag}\left\{ {Bv}_{p,q} \right\} g_{p}} \right\}}}} \right)} & (3.11) \\ {{{{\nabla f_{p}}{\Phi_{R_{f}}(f)}} = {\sum\limits_{p}{\sum\limits_{q}{C_{q}^{T}{\phi_{R}\left( {{C_{q}f_{p}},\delta} \right)}}}}},} & (3.12) \end{matrix}$

where g in (3.11) is defined as:

$\begin{matrix} {{{g\mspace{14mu}\text{=:}\mspace{14mu}{Df}} + {\sum\limits_{q}{{diag}\left\{ {Bv}_{q} \right\} C_{q}f}}},} & (3.13) \end{matrix}$

and ϕ_(R)(t, δ) is the first derivative of ϕ_(R) with respect to t.

To design the preconditioner Ĥ_(f), the true Hessian must first be found. Let H_(f) denote the true Hessian of Φ(f,v) with respect to f:

$\begin{matrix} {{{H_{f}\mspace{14mu}\text{=:}\mspace{14mu}{\nabla_{f}^{2}{\Phi\left( {f,v} \right)}}} = {{\nabla_{f}^{2}{\Phi_{L}(f)}} + {\lambda{\nabla_{f}^{2}{\Phi_{fv}\left( {f,v} \right)}}} + {\kappa_{f}{\nabla_{f}^{2}{\Phi_{R_{f}}(f)}}}}},} & (3.14) \\ {\mspace{79mu}{{{H_{f}^{L}\mspace{14mu}\text{=:}\mspace{14mu}{\nabla_{f}^{2}{\Phi_{L}(f)}}} = {A^{T}{WA}}},}} & (3.15) \\ {{{H_{f}^{fv}\mspace{14mu}\text{=:}\mspace{14mu}{\nabla_{f}^{2}{\Phi_{fv}\left( {f,v} \right)}}} = {{D^{T}D} + {D^{T}{\sum\limits_{q}{{diag}\left\{ {Bv}_{q} \right\} C_{q}}}} + {\sum\limits_{q}{C_{q}^{T}{diag}\left\{ {Bv}_{q} \right\} D}} + {\sum\limits_{q}{C_{q}^{T}{diag}\left\{ {Bv}_{q} \right\}^{2}C_{q}}}}},} & (3.16) \\ {\mspace{79mu}{{{H_{f}^{R_{f}}\mspace{14mu}\text{=:}\mspace{14mu}{\nabla_{f}^{2}{\Phi_{R_{f}}(f)}}} = {\sum\limits_{q}{C_{q}^{T}{diag}\left\{ {{\overset{¨}{\phi}}_{R}\left( {{C_{q}f},\delta} \right)} \right\} C_{q}}}},}} & (3.17) \end{matrix}$

H_(f) is not phase-separable, and the size of H_(f) is very large. Inverting H_(f) is time-consuming, so it is desirable to have a separable (diagonal) preconditioner for each phase bin volume Ĥ_(f) _(p) such that Ĥ_(f) _(p)

H_(f) _(p) to avoid large matrix inversion. The same applies to other Hessians as well: Ĥ _(f) _(p) =: Ĥ _(f) _(p) ^(L) +λĤ _(f) _(p) ^(fv) +k _(f) Ĥ _(f) _(p) ^(R) ^(f) .  (3.18)

Beginning with the following estimates:

$\begin{matrix} {\mspace{79mu}{{H_{f_{p}}^{L} \preceq {{diag}\left\{ {A_{p}^{T}W_{p}A_{p}1_{N}} \right\}}},}} & (3.19) \\ {{{H_{f_{p}}^{f_{v}} \preceq {{{\rho(D)}^{2}I_{N}} + {2{\rho(D)}{\rho\left( C_{q} \right)}{diag}\left\{ {{Bvec}\left\{ {\sum\limits_{q}{\max\limits_{i \in \mathcal{P}_{p}}{v_{i,q,j}}}} \right\}} \right\}} + {{\rho\left( C_{q} \right)}^{2}{diag}\left\{ {{Bvec}\left\{ {\sum\limits_{q}{\max\limits_{i \in \mathcal{P}_{p}}\left( v_{i,q,j} \right)^{2}}} \right\}} \right\}}}} = {{4I_{N}} + {8{diag}\left\{ {{Bvec}\left\{ {\sum\limits_{q}{\max\limits_{i \in \mathcal{P}_{p}}{v_{i,q,j}}}} \right\}} \right\}} + {4{diag}\left\{ {{Bvec}\left\{ {\sum\limits_{q}{\max\limits_{i \in \mathcal{P}_{p}}\left( v_{i,{qJ},j} \right)^{2}}} \right\}} \right\}}}},} & (3.20) \\ {\mspace{79mu}{{{H_{f_{p}}^{R_{f}} \preceq {3{\rho\left( C_{q} \right)}^{2}I_{N}}} = {12I_{N}}},}} & (3.21) \end{matrix}$

where ρ(T) is the spectral radius of a matrix T, vec(t₁) is the unrolled 1D vector of data t in 3D coordinate I,

_(p) is the set of adjacent phase bins

_(p)={l|p−1≤l≤p+1}, 1_(N) is the all-ones vector of size N=Π_(q)N_(q), and I_(N) is the identity matrix of size N×N. Storing the preconditioner (3.19) requires a large memory space. Assuming the angular sampling frequency of the phase-gated data G_(p) is approximately the same for every phase bin, (3.19) can be approximated using the averaged preconditioner:

$\begin{matrix} {{{\hat{H}}_{f_{p}}^{L}\mspace{14mu}\text{=:}\mspace{14mu}\frac{2M_{p}}{M}{diag}\left\{ {\sum\limits_{l}{A_{l}^{T}W_{l}A_{l}1_{N}}} \right\}},} & (3.22) \end{matrix}$

where M_(p) is the total number of projection data in the pth phase bin. The factor 2 in the numerator is the safety factor in case the angular sampling frequency of each phase bin projection data is not similar to each other.

Also, storing the preconditioner (3.20) requires a considerable amount of memory. To reduce memory storage, (3.20) can be further simplified using a single maximum value:

$\begin{matrix} {{\hat{H}}_{f_{p}}^{fv}\mspace{14mu}\text{=:}\mspace{14mu}\left( {4 + {24{\max\limits_{l,q,j}{v_{l,q,j}}}} + {12{\max\limits_{l,q,j}\left( v_{l,q,j} \right)^{2}}}} \right){I_{N}.}} & (3.23) \end{matrix}$

Finally, for the volume regularization term is used: Ĥ _(f) _(p) ^(R) ^(f) =: 12I _(N).  (3.24)

The volume gradient descent update in (3.9) with the final preconditioner (3.18) is only linearly converging. To speed-up the convergence, Nesterov's momentum acceleration method is applied. If each phase-gated data has significantly biased angular sampling, (3.22) might lead to instability. To avoid the instability, Nesterov acceleration is reset whenever the cost functional value increases during the iteration.

As previously described, in addition to the volume sub-iteration, the present invention also employs a velocity sub-iteration. Similar to the volume sub-iteration step, an approximated Newton's method is used with a separable quadratic surrogate preconditioner. The velocity gradient is obtained as follows: v _(p,q) ^((n) ^(g) ^(,n) ^(s) ⁺¹⁾ =v _(p,q) ^((n) ^(g) ^(,ñ) ^(s) ⁾ −Ĥ _(v) _(p,q) ⁻¹∇_(v) _(p,q) Φ(f ^((n) ^(g) ⁻¹⁾ ,v ^((n) ^(g) ^(,n) ^(s) ⁾),  (3.25) ∇_(v) _(p,q) Φ_(fv)(f,v)=B ^(T)(diag{C _(q) f _(p) }g _(p)),  (3.26) ∇_(v) _(p,q) Φ_(R) _(v) (v)=C _(q) ^(T) C _(q) v _(p,q),  (3.27)

where f^((n) ^(g) ⁻¹) is the result of the volume sub-iterations in (n_(g)−1)th global iteration step. Similar to (3.23) and (3.24), the separable preconditioner for the volume update can be obtained as follows:

$\begin{matrix} {{{{\hat{H}}_{v_{p,q}}\mspace{14mu}\text{=:}\mspace{14mu}\lambda\;{\hat{H}}_{v_{p,q}}^{fv}} + {\kappa_{v}{\hat{H}}_{v_{p,q}}^{R_{v}}}},} & (3.28) \\ {{{\hat{H}}_{v_{p,q}}^{fv}\mspace{14mu}\text{=:}\mspace{14mu} B^{T}{diag}\left\{ {\sum\limits_{r}{{C_{r}f_{p}}}_{e}} \right\}{{C_{q}f_{p}}}_{e}},} & (3.29) \\ {{{\hat{H}}_{v_{p,q}}^{Rv}\mspace{14mu}\text{=:}\mspace{14mu} 12I_{\overset{\_}{N}}},} & (3.30) \end{matrix}$

where |t|_(e) is the element-wise absolute value operator. Nesterov's momentum acceleration is also applied to the velocity gradient update to speed-up the convergence.

While volume sub-iterations do not need to be fully converged at each global iteration step, as details can be restored at later global iterations, stopping velocity sub-iterations while the cost functional is not fully converged typically leads to a loss of small, detailed motions. To avoid this condition, each set of velocity sub-iterations is run until the difference between the values of the cost functional at consecutive sub-iterations is lower than a specified threshold. In contrast, each set of volume sub-iterations is run for a fixed number of iterations.

After a set of motion sub-iterations converges for the first time, motion sub-iterations of the subsequent global iteration steps converge much faster. On the other hand, volume sub-iterations slow down as the global iteration number increases. This is due to the competition between the data fidelity and OFC terms. The latter becomes stronger as the global iterations progress. To accommodate the slower rate of convergence of the volume sub-iterations, the total number of volume sub-iterations may be increased per set by 100 every global iteration.

Motion estimation in the region where there is no object is vulnerable to instability. Although the regularizer prevents the unstable, behavior, the estimated velocity often shows false constant motion. To remove the false constant motion, the voxel-wise phase mean velocity is subtracted in every motion sub-iteration. This mean subtraction process does not improve image quality significantly as most of the false constant motion happens in empty regions, but it helps the convergence speed and stability of the motion iterations as the maximum velocity is reduced. Also, the velocity at the boundaries of the ROI (region of interest) is set to zero, because nothing is moving there. Going further, if the location of a stationary object, such as a patient couch, is known, velocity can be set to zero inside those regions.

In an additional embodiment, motion estimation can be based upon a parameterized cyclic deformation model. In this embodiment, the OFC approach is reformulated using the deformation function instead of the MVFs. Using (2.5), one way to incorporate the OFC (which is an alternative to Equation (2.9)) is via:

$\begin{matrix} {{{\Phi_{f\;\mu}\left( {f,\overset{\rightarrow}{\mu}} \right)} = {\sum\limits_{i}{\sum\limits_{p}{{{f\left( {s_{p},{\overset{\rightarrow}{\mu}\left( {s_{p},{\overset{\rightarrow}{x}}_{i}} \right)}} \right)} - {\frac{1}{M}{\sum\limits_{p^{\prime}}{f\left( {s_{p^{\prime},}{\overset{\rightarrow}{\mu}\left( {s_{p^{\prime}},{\overset{\rightarrow}{x}}_{i}} \right)}} \right)}}}}}^{m}}}},} & (4.1) \end{matrix}$ for some m>0. The choices m=1, 2 are popular ones. Another option is:

$\begin{matrix} {{\Phi_{f\;\mu}\left( {f,\overset{\rightarrow}{\mu}} \right)} = {\sum\limits_{i}{\sum\limits_{p}{{{{f\left( {s_{p + 1},{\overset{\rightarrow}{\mu}\left( {s_{p + 1},{\overset{\rightarrow}{x}}_{i}} \right)}} \right)} - {f\left( {s_{p,}{\overset{\rightarrow}{\mu}\left( {s_{p},{\overset{\rightarrow}{x}}_{i}} \right)}} \right)}}}^{m}.}}}} & (4.2) \end{matrix}$ Eq. (2.9) describes the OFC in the differential form, and Eqs. (4.1), (4.2) describe the OFC in integral form.

The functional Φ_(fμ) should replace Φ_(fv) in (2.10). Similarly, the regularization of the velocity term should be replaced by the regularization of the motion function {right arrow over (μ)}. The resulting functional can also be minimized using the alternating minimization approach. It is still linear with respect to f(s, {right arrow over (x)}). Even though the functional is non-linear with respect to {right arrow over (μ)}(s, {right arrow over (x)}), iterations with respect to {right arrow over (μ)}(s, {right arrow over (x)}) are fairly easy and not time consuming, since they do not require access to raw data.

Using the deformation-based approach, several advantages may be realized:

-   -   1) It can be enforced that each particle moves periodically         along a line segment (or, along an elliptical path).     -   2) Such a description will have fewer parameters for compute,         which will make the overall ME/MC (motion estimation/motion         compensation) problem more stable.     -   3) Since the proposed description has fewer parameters, some of         these parameters can be allowed to slowly change during the scan         to account for irregular breathing.     -   4) Initially, for improved stability, it can be assumed that the         phase of each voxel is the same as the phase observed by the         tracking device on the patient's chest. At later iterations,         this requirement can be relaxed.     -   5) Rigid body constraints can be enforced inside         high-attenuating regions, such as bones. This can be achieved         for example by thresholding the reconstruction volume (starting         after sufficiently many global iterations) and enforcing that         neighboring voxels within highly attenuating regions have the         same motion function and by adjusting the strength parameter of         motion regularization separately at each data point of motion         grid based on the corresponding volume to softly encourage the         rigid motion at highly attenuating regions. Generally, it is not         advisable to add more constraints to the optimization problem,         because it may dilute the effect of the data fidelity term.         Here, such a problem does not arise, because volume iterations         will not see these additional constraints. They will be         formulated only in terms of the bone mask (in approach (a)) or         in terms of the solution f^((n) ^(g) ⁾ at some fixed         intermediate iteration n_(g) (in approach (b)).     -   6) Use the data fidelity weight w_(mk) to account for the         reliability of the estimated phase of each measure view.     -   7) Generally, it is easier to incorporate any other physical         constraint.     -   8) Having easy access to the phase information (as part of the         deformation function), one can reduce the progressive wave that         causes false circular motion by using appropriate         regularization, and leave only the stationary wave that is more         physical. Similarly to item (5), the requirement that nearby         points have approximately the same phase is invisible to volume         iterations.     -   9) An advantage of (4.1) and (4.2) over (2.10) is that the         former do not use the derivatives of f, hence the requirements         on the smoothness of f are relaxed. This may lead to improved         spatial and temporal resolution of the method.     -   10) The proposed method automatically guarantees the cyclical         motion requirement in the reconstruction.     -   11) The proposed method does not require computing the inverse         of the motion {right arrow over (ψ)}={right arrow over (μ)}⁻¹         during iterations.

In an exemplary embodiment, by adopting the second option (4.2) with m=2 multiplied by the conventional constant ½, we get the OFC constraint

$\begin{matrix} {{\Phi_{f\;\mu}\left( {f,\overset{\rightarrow}{\mu}} \right)} = {\sum\limits_{i}{\sum\limits_{p}{{{{f\left( {s_{p + 1},{\overset{\rightarrow}{\mu}\left( {s_{p + 1},{\overset{\rightarrow}{x}}_{i}} \right)}} \right)} - {f\left( {s_{p,}{\overset{\rightarrow}{\mu}\left( {s_{p},{\overset{\rightarrow}{x}}_{i}} \right)}} \right)}}}^{2}.}}}} & (4.3) \end{matrix}$

The motion model is also chosen as follows, so that each voxel moves along a linear path:

$\begin{matrix} {{{\overset{\rightarrow}{\mu}\left( {s,\overset{\rightarrow}{x}} \right)} = {\overset{\rightarrow}{x} + {\left\lbrack {{\cos\left( {2\;\pi\;\frac{s - {\overset{\_}{s}\left( \overset{\rightarrow}{x} \right)}}{\Delta\; S}} \right)} - {\cos\left( {2\;\pi\;\frac{\overset{\_}{s}\left( \overset{\rightarrow}{x} \right)}{\Delta\; S}} \right)}} \right\rbrack{\overset{\rightarrow}{u}\left( \overset{\rightarrow}{x} \right)}}}},} & (4.4) \end{matrix}$

where amplitude {right arrow over (u)}({right arrow over (x)}) and phase {right arrow over (s)}({right arrow over (x)}) are given by

$\begin{matrix} {{{\overset{\rightarrow}{u}\left( \overset{\rightarrow}{x} \right)} = {\sum\limits_{j}{{\overset{\rightarrow}{u}}_{j}{\hat{\varphi}\left( {\overset{\rightarrow}{x} - {\overset{\rightarrow}{m}}_{j}} \right)}}}},} & (4.5) \\ {{\overset{\_}{s}\left( \overset{\rightarrow}{x} \right)} = {\sum\limits_{k}{{\overset{\_}{s}}_{k}{{\overset{\bigvee}{\varphi}\left( {\overset{\rightarrow}{x} - {\overset{\rightarrow}{n}}_{k}} \right)}.}}}} & (4.6) \end{matrix}$

Note that the grids {right arrow over (x)}_(i), {right arrow over (m)}_(j), and {right arrow over (n)}_(k) do not have to be the same, as well as the interpolation functions φ(·), {circumflex over (φ)}(·) and {hacek over (φ)}(·) do not have to be the same. In general, {right arrow over (u)} is smooth, and s is even smoother. Thus, a sparse grid can be used with a smooth interpolation function for {right arrow over (u)}, and even more sparse grid and a smoother interpolation function for s.

After replacing (3.3) with (4.3) and adding regularization terms for the motion parameters u and s, the total functional is as follows: Φ(f,u,s )=Φ_(L)(f)+λΦ_(f) _(μ) (f,u,s )+k _(f)Φ_(R) _(f) (f,δ)+k _(u)Φ_(R) _(u) (u)+k _(s) Φ_(R) _(s) ( s ),  (4.7)

For Φ_(R) _(u) and Φ_(R) _(s) , the Tikhonov regularization is used, analogously to Φ_(R) _(v) in the previous section.

As in the previous section, an approximated Newton's method with separable surrogate function is used. Here, only the gradient descent part (computation of the gradient and Hessian) of the new motion model is described. All the other terms, such as data fidelity and volume regularization terms, are the same as in the previously described method.

Hereinafter, the following shorthand notations are used for brevity: {right arrow over (μ)}_(p,i)={right arrow over (μ)}(s _(p) ,{right arrow over (x)} _(i)), μ_(p,i,q)=μ_(q)(s _(p) ,{right arrow over (x)} _(i)), u _((i),q) =u _(q)({right arrow over (x)} _(i)), s _((i)) =s ({right arrow over (x)} _(i)),

_(p,1) =f(s _(p),{right arrow over (μ)}_(p,1)).

In the motion sub-iteration step, the gradient of Φ_(f) _(μ) with respect to the motion vector parameter u is obtained as follows:

$\begin{matrix} {{\frac{\partial\Phi_{f_{\mu}}}{\partial u_{j,q}} = {\sum\limits_{i \in {\hat{I}{(j)}}}{\sum\limits_{p}\left\lbrack {\left( {\mathcal{F}_{{p + 1},i} - \mathcal{F}_{p,1}} \right)\left( {{\frac{\partial\mathcal{F}_{{p + 1},i}}{\partial\mu_{{p + 1},i,q}}\frac{\partial\mu_{{p + 1},i,q}}{\partial u_{j,q}}} - {\frac{\partial\mathcal{F}_{p,i}}{\partial\mu_{p,i,q}}\frac{\partial\mu_{p,i,q}}{\partial u_{j,q}}}} \right)} \right\rbrack}}},} & (4.8) \end{matrix}$ where {hacek over (I)}(j)={i|{circumflex over (φ)}({right arrow over (x)}_(i)−{right arrow over (m)}_(j))≠0}, and

$\begin{matrix} {\frac{\partial\mu_{p,i,q}}{\partial{\overset{\_}{s}}_{k}} = {\frac{2\;\pi}{\Delta\; S}\left( {{\sin\left( {2\;\pi\;\frac{s_{p} - {\overset{\_}{s}}_{(i)}}{\Delta\; S}} \right)} + {\sin\left( {2\;\pi\;\frac{{\overset{\_}{s}}_{(i)}}{\Delta\; S}} \right)}} \right){u_{{(i)},q} \cdot {{\overset{\bigvee}{\varphi}\left( {{\overset{\rightarrow}{x}}_{i} - {\overset{\rightarrow}{n}}_{k}} \right)}.}}}} & (4.9) \end{matrix}$

With bilinear interpolation, the analytic form of

$\frac{\partial\mathcal{F}_{{p + 1},i}}{\partial\mu_{{p + 1},i,q}}$ cannot be computed, as φ is not differentiable. Instead, we compute it numerically by applying the central difference first, then find the value at μ_(p+1,i,q). Similarly, the gradient of Φ_(f) _(μ) with respect to the motion phase parameters is obtained as follows:

$\begin{matrix} {{\frac{\partial\Phi_{f_{\mu}}}{\partial{\overset{\_}{s}}_{k}} = {\sum\limits_{i \in {\overset{\bigvee}{I}{(k)}}}{\sum\limits_{p}\left\lbrack {\left( {\mathcal{F}_{{p + 1},i} - \mathcal{F}_{p,i}} \right) \cdot {\sum\limits_{q}\left( {{\frac{\partial\mathcal{F}_{{p + 1},i}}{\partial\mu_{{p + 1},i,q}}\frac{\partial\mu_{{p + 1},i,q}}{\partial{\overset{\_}{s}}_{k}}} - {\frac{\partial\mathcal{F}_{p,i}}{\partial\mu_{p,i,q}}\frac{\partial\mu_{p,i,q}}{\partial{\overset{\_}{s}}_{k}}}} \right)}} \right\rbrack}}},} & (4.10) \end{matrix}$ where {hacek over (I)}(k)={i|{circumflex over (φ)}({right arrow over (x)}_(i)−{right arrow over (m)}_(k))≠0}, and

$\begin{matrix} {\frac{\partial\mu_{p,i,q}}{\partial{\overset{\_}{s}}_{k}} = {\frac{2\;\pi}{\Delta\; S}\left( {{\sin\left( {2\;\pi\;\frac{s_{p} - {\overset{\_}{s}}_{(i)}}{\Delta\; S}} \right)} + {\sin\left( {2\;\pi\;\frac{{\overset{\_}{s}}_{(i)}}{\Delta\; S}} \right)}} \right){u_{{(i)},q} \cdot {{\overset{\bigvee}{\varphi}\left( {{\overset{\rightarrow}{x}}_{i} - {\overset{\rightarrow}{n}}_{k}} \right)}.}}}} & (4.11) \end{matrix}$

The Hessian of Φ_(f) _(μ) is obtained as follows:

$\begin{matrix} {\frac{\partial^{2}\Phi_{f_{\mu}}}{{\partial u_{j,q}}{\partial u_{j^{\prime},q^{\prime}}}} = {\sum\limits_{i \in {{\hat{I}{(j)}}\bigcap{\hat{I}{(j^{\prime})}}}}{\sum\limits_{p}{\left\lbrack {{\left( {{\frac{\partial\mathcal{F}_{{p + 1},i}}{\partial\mu_{{p + 1},i,q}}\frac{\partial\mu_{{p + 1},i,q}}{\partial u_{j,q}}} - {\frac{\partial\mathcal{F}_{p,i}}{\partial\mu_{p,i,q}}\frac{\partial\mu_{p,i,q}}{\partial u_{j,q}}}} \right) \cdot \left( {{\frac{\partial\mathcal{F}_{{p + 1},i}}{\partial\mu_{{p + 1},i,q^{\prime}}}\frac{\partial\mu_{{p + 1},i,q^{\prime}}}{\partial u_{j^{\prime},q^{\prime}}}} - {\frac{\partial\mathcal{F}_{p,i}}{\partial\mu_{p,i,q^{\prime}}}\frac{\partial\mu_{p,i,q^{\prime}}}{\partial u_{j^{\prime},q^{\prime}}}}} \right)} + {\left( {\mathcal{F}_{{p + 1},i} - \mathcal{F}_{p,i}} \right) \cdot \left( {{\frac{\partial^{2}\mathcal{F}_{{p + 1},i}}{{\partial\mu_{{p + 1},i,q}}{\partial\mu_{{p + 1},i,q^{\prime}}}}\frac{\partial\mu_{{p + 1},i,q}}{\partial u_{j,q}}\frac{\partial\mu_{{p + 1},i,q^{\prime}}}{\partial u_{j^{\prime},q^{\prime}}}} - {\frac{\partial^{2}\mathcal{F}_{p,i}}{{\partial\mu_{p,i,q}}{\partial\mu_{p,i,q^{\prime}}}}\frac{\partial\mu_{p,i,q}}{\partial u_{j,q}}\frac{\partial\mu_{p,i,q^{\prime}}}{\partial u_{j^{\prime},q^{\prime}}}}} \right)}} \right\rbrack.}}}} & (4.12) \\ {\frac{\partial^{2}\Phi_{f_{\mu}}}{{\partial{\overset{\_}{s}}_{k}}{\partial{\overset{\_}{s}}_{k^{\prime}}}} = {\sum\limits_{i \in {{\overset{\bigvee}{I}{(k)}}\bigcap{\overset{\bigvee}{I}{(k^{\prime})}}}}{\sum\limits_{p}{\left\lbrack {{\left( {{\sum\limits_{q}{\frac{\partial\mathcal{F}_{{p + 1},i}}{\partial\mu_{{p + 1},i,q}}\frac{\partial\mu_{{p + 1},i,q}}{\partial{\overset{\_}{s}}_{k}}}} - {\frac{\partial\mathcal{F}_{p,i}}{\partial\mu_{p,i,q}}\frac{\partial\mu_{p,i,q}}{\partial{\overset{\_}{s}}_{k}}}} \right) \cdot \left( {{\sum\limits_{q}{\frac{\partial\mathcal{F}_{{p + 1},i}}{\partial\mu_{{p + 1},i,q}}\frac{\partial\mu_{{p + 1},i,q}}{\partial{\overset{\_}{s}}_{k^{\prime}}}}} - {\frac{\partial\mathcal{F}_{p,i}}{\partial\mu_{p,i,q}}\frac{\partial\mu_{p,i,q}}{\partial{\overset{\_}{s}}_{k^{\prime}}}}} \right)} + {\left( {\mathcal{F}_{{p + 1},i} - \mathcal{F}_{p,i}} \right) \cdot \left( {{\sum\limits_{q^{\prime}}\left( {{\frac{\partial^{2}\mathcal{F}_{{p + 1},i}}{{\partial\mu_{{p + 1},i,q}}{\partial\mu_{{p + 1},i,q^{\prime}}}}\frac{\partial\mu_{{p + 1},i,q}}{\partial{\overset{\_}{s}}_{k}}\frac{\partial\mu_{{p + 1},i,q^{\prime}}}{\partial{\overset{\_}{s}}_{k^{\prime}}}} - {\frac{\partial^{2}\mathcal{F}_{p,i}}{{\partial\mu_{p,i,q}}{\partial\mu_{p,i,q^{\prime}}}}\frac{\partial\mu_{p,i,q}}{\partial{\overset{\_}{s}}_{k}}\frac{\partial\mu_{p,i,q^{\prime}}}{\partial{\overset{\_}{s}}_{k^{\prime}}}}} \right)} + {\frac{\partial\mathcal{F}_{{p + 1},i}}{\partial\mu_{{p + 1},i,q}}\frac{\partial^{2}\mu_{{p + 1},i,q}}{{\partial{\overset{\_}{s}}_{k}}{\partial{\overset{\_}{s}}_{k^{\prime}}}}} - {\frac{\partial\mathcal{F}_{p,i}}{\partial\mu_{p,i,q}}\frac{\partial^{2}\mu_{p,i,q}}{{\partial{\overset{\_}{s}}_{k}}{\partial{\overset{\_}{s}}_{k^{\prime}}}}}} \right)}} \right\rbrack.}}}} & (4.13) \\ {\frac{\partial^{2}\Phi_{f_{\mu}}}{{\partial u_{j,q}}{\partial{\overset{\_}{s}}_{k}}} = {\sum\limits_{i \in {{\hat{I}{(j)}}\bigcap{\overset{\bigvee}{I}{(k)}}}}{\sum\limits_{p}{\left\lbrack {{\left( {{\frac{\partial\mathcal{F}_{{p + 1},i}}{\partial\mu_{{p + 1},i,q}}\frac{\partial\mu_{{p + 1},i,q}}{\partial u_{j,q}}} - {\frac{\partial\mathcal{F}_{p,i}}{\partial\mu_{p,i,q}}\frac{\partial\mu_{p,i,q}}{\partial u_{j,q}}}} \right) \cdot {\sum\limits_{q^{\prime}}\left( {{\frac{\partial\mathcal{F}_{{p + 1},i}}{\partial\mu_{{p + 1},i,q^{\prime}}}\frac{\partial\mu_{{p + 1},i,q^{\prime}}}{\partial{\overset{\_}{s}}_{k}}} - {\frac{\partial\mathcal{F}_{p,i}}{\partial\mu_{p,i,q^{\prime}}}\frac{\partial\mu_{p,i,q^{\prime}}}{\partial{\overset{\_}{s}}_{k}}}} \right)}} + {\left( {\mathcal{F}_{{p + 1},i} - \mathcal{F}_{p,i}} \right) \cdot \left( {{\sum\limits_{q^{\prime}}\left( {{\frac{\partial^{2}\mathcal{F}_{{p + 1},i}}{{\partial\mu_{{p + 1},i,q}}{\partial\mu_{{p + 1},i,q^{\prime}}}}\frac{\partial\mu_{{p + 1},i,q}}{\partial u_{j,q}}\frac{\partial\mu_{{p + 1},i,q^{\prime}}}{\partial{\overset{\_}{s}}_{k}}} - {\frac{\partial^{2}\mathcal{F}_{p,i}}{{\partial\mu_{p,i,q}}{\partial\mu_{p,i,q^{\prime}}}}\frac{\partial\mu_{p,i,q}}{\partial u_{j,q}}\frac{\partial\mu_{p,i,q^{\prime}}}{\partial{\overset{\_}{s}}_{k}}}} \right)} + {\frac{\partial\mathcal{F}_{{p + 1},i}}{\partial\mu_{{p + 1},i,q}}\frac{\partial^{2}\mu_{{p + 1},i,q}}{{\partial u_{j,q}}{\partial{\overset{\_}{s}}_{k}}}} - {\frac{\partial\mathcal{F}_{p,i}}{\partial\mu_{p,i,q}}\frac{\partial^{2}\mu_{p,i,q}}{{\partial u_{j,q}}{\partial{\overset{\_}{s}}_{k}}}}} \right)}} \right\rbrack.}}}} & (4.14) \end{matrix}$

Elements of the Hessian matrix (4.12)-(4.14) are not pixel-independent. One can create a diagonal upper bound matrix (surrogate function) by summing the absolute values of all the coupled terms.

In the volume sub-iteration of the new method, the gradient of Φ_(f) _(μ) with respect to the volume parameter f is obtained as follows:

$\begin{matrix} {{\frac{\partial\Phi_{f_{\mu}}}{\partial f_{p,i}} = {\sum\limits_{t \in {T{({p,i})}}}{\left( {{- \mathcal{F}_{{p + 1},t}} + {2\;\mathcal{F}_{p,t}} - \mathcal{F}_{{p - 1},t}} \right)\frac{\partial\mathcal{F}_{p,t}}{\partial f_{p,i}}}}},{{{where}\mspace{14mu}{T\left( {p,i} \right)}} = \left\{ t \middle| {{\varphi\left( {{\overset{\rightarrow}{\mu}}_{p,t} - {\overset{\rightarrow}{x}}_{i}} \right)} \neq 0} \right\}},{and}} & (4.15) \\ {\frac{\partial\mathcal{F}_{p,t}}{\partial f_{p,i}} = {{\varphi\left( {{\overset{\rightarrow}{\mu}}_{p,t} - {\overset{\rightarrow}{x}}_{i}} \right)}.}} & (4.16) \end{matrix}$

The Hessian of Φ_(f) _(μ) with respect to the volume parameter f is obtained as follows:

$\begin{matrix} {\frac{\partial^{2}\Phi_{f_{\mu}}}{{\partial f_{p,i}}{\partial f_{p^{\prime},i^{\prime}}}} = \left\{ \begin{matrix} {\sum\limits_{t \in {{T{({p,i})}}\bigcap{T{({p,i^{\prime}})}}}}{2\frac{\partial\mathcal{F}_{p,t}}{\partial f_{p,i}}\frac{\partial\mathcal{F}_{p,t}}{\partial f_{p,i^{\prime}}}}} & {{{if}\mspace{14mu} p^{\prime}} = p} \\ {\sum\limits_{t \in {{T{({p,i})}}\bigcap{T{({p^{\prime},i^{\prime}})}}}}{{- \frac{\partial\mathcal{F}_{p,t}}{\partial f_{p,i}}}\frac{\partial\mathcal{F}_{p^{\prime},t}}{\partial f_{p^{\prime},i^{\prime}}}}} & {{{if}\mspace{14mu} p^{\prime}} = {p - {1\mspace{14mu}{or}\mspace{14mu} p} + 1}} \\ 0 & {{otherwise},} \end{matrix} \right.} & (4.17) \end{matrix}$

To find the separable surrogate function, the following interpolation properties can be used:

$\begin{matrix} {{0 \leqslant \frac{\partial\mathcal{F}_{p,t}}{\partial f_{p,i}} \leqslant {1\mspace{14mu}{\forall t}}},} & (4.18) \\ {{\sum\limits_{i \in {I{({p,t})}}}\frac{\partial\mathcal{F}_{p,t}}{\partial f_{p,i}}} = {1\mspace{14mu}{\forall{t.}}}} & (4.19) \end{matrix}$

A diagonal upper bound of the Hessian can be found using the interpolation properties (4.18) and (4.19) as follows:

$\begin{matrix} \begin{matrix} {\left\lbrack \frac{\partial^{2}\Phi_{f_{\mu}}}{{\partial f_{p,i}}{\partial f_{p^{\prime},i^{\prime}}}} \right\rbrack_{({{p \times i},{p^{\prime} \times i^{\prime}}})} \preccurlyeq {{diag}\left\{ \left. {\sum\limits_{p}{\sum\limits_{p^{\prime}}\sum\limits_{i^{\prime}}}} \middle| \frac{\partial^{2}\Phi_{f_{\mu}}}{{\partial f_{p,i}}{\partial f_{p^{\prime},i^{\prime}}}} \right| \right\}}} \\ {= {{diag}{\left\{ {4{\sum\limits_{t}\frac{\partial\mathcal{F}_{p,t}}{\partial f_{p,i}}}} \right\}.}}} \end{matrix} & (4.20) \end{matrix}$

Note that not all interpolators satisfy the non-negativity property (4.18). One example of such interpolator is the high order polynomial interpolator. The Hessian with interpolators that do not satisfy (4.18) may not be diagonalized using (4.20).

For massively parallel computing, there are two options to compute (4.15) and (4.20):

-   -   a. Assign threads along t and loop over all i ∈I(p,t), where         I(p,t)={i|φ({right arrow over (μ)}_(p,t)−{right arrow over         (x)}_(i))≠0},     -   b. Assign threads along i and loop over all t ∈T(p,i).

Finding I(p,t) for each t is easier than finding T(p,i) for each i, because {right arrow over (μ)}_(p,t) is fixed for each thread. On the other hand, approach (b) requires searching along t to find all {right arrow over (μ)}_(p,t) such that t ∈T(p,i). Further more, the size of the support of φ is known prior to computation and in general small, so each t-th thread only needs to access a few f_(p,i)s.

However, approach (a) can cause so called, “race condition” as different threads need to read and update the same i location simultaneously. Fortunately, this race condition can be avoided by using atomic operations in CUDA, with some sacrifice of the parallelism. Even better, the race condition does not happen very often when the bilinear interpolation is used as the size of the support is fairly small. Therefore, approach (a) has been chosen to compute (4.15) with bilinear interpolation.

While in the previously described embodiment, the strength of the OFC λ was monotonically increased along the global iterations, it was found that this caused the motion to be consistently underestimated. As such, in this embodiment, instead of a monotonic increase, the OFC strength is changed to oscillate throughout the global iterations with the period of two iterations, i.e. λ=1 for odd iterations, and λ=150 for even iterations.

Odd iterations add more details to the volumes and estimate the motion based on the added details, and even iterations impose the motion on the volumes more strictly. This way, global iterations can keep updating the motion even when the motion is underestimated in earlier iterations.

Additionally, in this embodiment, instead of decreasing the volume regularization strength parameter ϰ_(f), the volume regularization shape parameter δ_(f) is decreased, thereby providing two effects, reduction of regularization strength and transition from Tikhonov type regularization to TV-like regularization as the iterations continue. FIG. SA illustrates the assigned values of λ, ϰ_(f) and δ_(f) for each global iteration step in the previously described embodiment, wherein the parameters are increased monotonically. FIG. 5B illustrates the assigned values of λ, ϰ_(f) and δ_(f) for each global iteration step in the currently described embodiment, wherein the parameters are increased non-monotonically.

While the results for both discrete and continuous motion data are promising, the estimated motion in the continuous case creates slight errors at the boundary. The reason is that even if the reconstructed motion matches the average motion within each phase bin, some projections exceed the deformation range of the estimated motion. As a result, the motion is slightly underestimated and the projections outside the estimate motion create slight streak artifacts in the air account the body being imaged.

The results show that when there is inconsistency of motion within projection data in each phase bin, more studies may be required to achieve the best result. The results also show that artifacts due to replacing continuous motion with discrete motion in simulated experiments are likely negligible compared with artifacts due to significant imperfections in real data, such as breathing motion is not periodic, imperfect binning of data, etc.

Additionally, while the exemplary method and associated algorithm work will with simulated data when there is no residual motion and no noise, applying the same algorithm to clinical data may lead to undesirable speckle artifacts. While the OFC encourages incompressibility, if the volume is indeed incompressible, the data density on the volume grid should be unchanged in every phase. However, the estimated volume usually shows some compressibility (whether it is real or not), and the data density at the expanding region becomes sparse, causing the OFC to be applied unevenly. Consequently, the OFC fails to regularize the expanding or compressing regions properly, resulting in speckle artifacts when the data are noisy and not perfectly matching.

To address these speckle artifacts, MVFs between pairs of consecutive phase volumes on a regular grid are estimated from the motion function {right arrow over (μ)}(s_(p), {right arrow over (x)}_(i)) as follows:

$\begin{matrix} {{\overset{\rightarrow}{V}}_{p} = \left. {\underset{\overset{\_}{\upsilon}}{\arg\;\min}\frac{1}{2}\sum\limits_{i}} \middle| {{\overset{\rightarrow}{\upsilon}\left( {\overset{\rightarrow}{\mu}\left( {s_{p},{\overset{\rightarrow}{x}}_{i}} \right)} \right)} - \left( {{\overset{\rightarrow}{\mu}\left( {s_{p + 1},{\overset{\rightarrow}{x}}_{i}} \right)} - {\overset{\rightarrow}{\mu}\left( {s_{p},{\overset{\rightarrow}{x}}_{i}} \right)}} \right)} \right|^{2}} & (5.1) \end{matrix}$

Then the estimated regular grid MVFs is used to impose the OFC in an even fashion (the magnitudes of MVFs are small, so with one grid being regular, its image at the next phase volume is close to a regular grid as well):

$\begin{matrix} {{\Phi_{f_{\mu}}\left( {f,\overset{\rightarrow}{\mu}} \right)} = \left. {\frac{1}{2}{\sum\limits_{i}\sum\limits_{p}}} \middle| {{f\left( {s_{p + 1},{{\overset{\rightarrow}{x}}_{i} + {{\overset{\rightarrow}{V}}_{p}\left( {\overset{\rightarrow}{x}}_{i} \right)}}} \right)} - {f\left( {s_{p},{\overset{\rightarrow}{x}}_{i}} \right)}} \middle| {}_{2}. \right.} & (5.2) \end{matrix}$

In the original OFC, pairs of consecutive phase volumes are compared using a grid, that was regular in the reference phase. This grid is far from regular after deformation:

$\begin{matrix} {{\Phi_{f_{\mu}}\left( {f,\overset{\rightarrow}{\mu}} \right)} = \left. {\frac{1}{2}{\sum\limits_{i}\sum\limits_{p}}} \middle| {{f\left( {s_{p + 1},{\overset{\rightarrow}{\mu}\left( {s_{p + 1},{\overset{\rightarrow}{x}}_{i}} \right)}} \right)} - {f\left( {s_{p},{\overset{\rightarrow}{\mu}\left( {s_{p},{\overset{\rightarrow}{x}}_{i}} \right)}} \right)}} \middle| {}_{2}. \right.} & (5.3) \end{matrix}$

Accordingly, is this embodiment, the OFC is modified to use MVFs on a regular grid to remove the speckle artifacts.

The present invention may be embodied on various computing platforms that perform actions responsive to software-based instructions. The following provides an antecedent basis for the information technology that may be utilized to enable the invention.

The computer readable medium described in the claims below may be a computer readable signal medium or a computer readable storage medium. A computer readable storage medium may be, for example, but not limited to, an electronic, magnetic, optical, electromagnetic, infrared, or semiconductor system, apparatus, or device, or any suitable combination of the foregoing. More specific examples (a non-exhaustive list) of the computer readable storage medium would include the following: an electrical connection having one or more wires, a portable computer diskette, a hard disk, a random access memory (RAM), a read-only memory (ROM), an erasable programmable read-only memory (EPROM or Flash memory), an optical fiber, a portable compact disc read-only memory (CD-ROM), an optical storage device, a magnetic storage device, or any suitable combination of the foregoing. In the context of this document, a computer readable storage medium may be any tangible medium that can contain or store a program for use by or in connection with an instruction execution system, apparatus, or device.

A computer readable signal medium may include a propagated data signal with computer readable program code embodied therein, for example, in baseband or as part of a carrier wave. Such a propagated signal may take any of a variety of forms, including, but not limited to, electro-magnetic, optical, or any suitable combination thereof. A computer readable signal medium may be any computer readable medium that is not a computer readable storage medium and that can communicate, propagate, or transport a program for use by or in connection with an instruction execution system. The present invention may be embodied on various computing platforms that perform actions responsive to software-based instructions. The following provides an antecedent basis for the information technology that may be utilized to enable the invention.

The computer readable medium described in the claims below may be a computer readable signal medium or a computer readable storage medium. A computer readable storage medium may be, for example, but not limited to, an electronic, magnetic, optical, electromagnetic, infrared, or semiconductor system, apparatus, or device, or any suitable combination of the foregoing. More specific examples (a non-exhaustive list) of the computer readable storage medium would include the following: an electrical connection having one or more wires, a portable computer diskette, a hard disk, a random access memory (RAM), a read-only memory (ROM), an erasable programmable read-only memory (EPROM or Flash memory), an optical fiber, a portable compact disc read-only memory (CD-ROM), an optical storage device, a magnetic storage device, or any suitable combination of the foregoing. In the context of this document, a computer readable storage medium may be any tangible medium that can contain or store a program for use by or in connection with an instruction execution system, apparatus, or device.

Program code embodied on a computer readable medium may be transmitted using any appropriate medium, including but not limited to wireless, wire-line, optical fiber cable, radio frequency, etc., or any suitable combination of the foregoing. Computer program code for carrying out operations for aspects of the present invention may be written in any combination of one or more programming languages, including an object oriented programming language such as Java, C#, C++ or the like and conventional procedural programming languages, such as the “C” programming language or similar programming languages.

Aspects of the present invention are described below with reference to flowchart illustrations and/or block diagrams of methods, apparatus (systems) and computer program products according to embodiments of the invention. It will be understood that each block of the flowchart illustrations and/or block diagrams, and combinations of blocks in the flowchart illustrations and/or block diagrams, can be implemented by computer program instructions. These computer program instructions may be provided to a processor of a general purpose computer, special purpose computer, or other programmable data processing apparatus to produce a machine, such that the instructions, which execute via the processor of the computer or other programmable data processing apparatus, create means for implementing the functions/acts specified in the flowchart and/or block diagram block or blocks.

These computer program instructions may also be stored in a computer readable medium that can direct a computer, other programmable data processing apparatus, or other devices to function in a particular manner, such that the instructions stored in the computer readable medium produce an article of manufacture including instructions which implement the function/act specified in the flowchart and/or block diagram block or blocks.

The computer program instructions may also be loaded onto a computer, other programmable data processing apparatus, or other devices to cause a series of operational steps to be performed on the computer, other programmable apparatus or other devices to produce a computer implemented process such that the instructions which execute on the computer or other programmable apparatus provide processes for implementing the functions/acts specified in the flowchart and/or block diagram block or blocks.

It will be seen that the advantages set forth above, and those made apparent from the foregoing description, are efficiently attained and since certain changes may be made in the above construction without departing from the scope of the invention, it is intended that all matters contained in the foregoing description or shown in the accompanying drawings shall be interpreted as illustrative and not in a limiting sense.

It is also to be understood that the following claims are intended to cover all of the generic and specific features of the invention herein described, and all statements of the scope of the invention which, as a matter of language, might be said to fall therebetween. 

What is claimed is:
 1. A method for motion estimation and compensation using projection scan data, the method comprising: acquiring tomographic projection data of a moving object of interest; sorting the projection data according to a phase to generate phase-sorted projection data; loading the phase-sorted projection data; performing an iterative optimization procedure comprising; changing one or more regularization parameters during the iterative optimization procedure, wherein the one or more regularization parameters affect a strength of one or more regularizers of a cost functional and wherein the one or more regularization parameters includes an optical flow constraint (OFC) strength and a volume regularization strength; performing a volume sub-iteration of the phase-sorted projection data using the one or more regularization parameters and the one or more regularizers of the cost functional; performing a motion sub-iteration of the phase-sorted projection data using the one or more regularization parameters and the one or more regularizers of the cost functional; and repeating the iterative optimization procedure until a stopping criterion has been met.
 2. The method of claim 1, wherein the strength of the OFC increases during the optimization procedure and the strength of the volume regularization decreases during the iterative optimization procedure.
 3. The method of claim 1, wherein the one or more of the regularization parameters are changed non-monotonically during the iterative optimization procedure.
 4. The method of claim 1, wherein the OFC strength is changed non-monotonically during the iterative optimization procedure.
 5. The method of claim 1, wherein the motion sub-iteration is based on phase motion vector fields (MVF) to describe motion.
 6. The method of claim 5, wherein phase MVF act between neighboring phase images and each MVF is specified on a regular grid to ensure the uniform application of the optical flow constraint.
 7. The method of claim 1, wherein the motion sub-iteration is based on a global in time motion function to describe motion.
 8. The method claim 1, wherein the projection data is selected from cone beam computed tomography (CBCT) projection data, dental CT projection data, clinical Computed Tomography (“CT”) data, industrial CT projection data, flat panel CT (e.g., C-arms) projection data, x-ray diffraction projection data, x-ray based imaging projection data and projection data not based on x-ray imaging.
 9. A method for motion estimation and compensation using projection scan data, the method comprising: acquiring tomographic projection data of a moving object of interest; sorting the projection data according to a phase to generate phase-sorted projection data; loading the phase-sorted projection data; performing an iterative optimization procedure comprising; performing a volume sub-iteration of the phase-sorted projection data using one or more regularization parameters and one or more regularizers of a cost functional, wherein the volume sub-iteration is based on phase motion vector fields (MVF) to describe motion, wherein the one or more regularization parameters affect a strength of the one or more regularizers of the cost functional and wherein the one or more regularization parameters includes an optical flow constraint (OFC) strength and a volume regularization strength; performing a motion sub-iteration of the phase-sorted projection data using the one or more regularization parameters and the one or more regularizers of the cost functional, wherein the motion sub-iteration is based on a global in time deformation function to describe motion; and repeating the iterative optimization procedure until a stopping criterion has been met.
 10. The method of claim 9, wherein one or more of the regularization parameters are changed during the iterative optimization procedure.
 11. The method of claim 10, wherein the strength of the OFC increases during the iterative optimization procedure and the strength of the volume regularization decreases during the iterative optimization procedure.
 12. The method of claim 10, wherein one or more of the regularization parameters changes non-monotonically during the iterative optimization procedure.
 13. The method of claim 12, wherein the strength of the OFC changes non-monotonically during the iterative optimization procedure.
 14. The method of claim 9, wherein the optical flow constraint (OFC) is used to regularize volume sub-iterations and wherein phase MVF act between neighboring phase images and each MVF is specified on a regular grid to ensure a uniform application of the OFC.
 15. A method for motion estimation and compensation using projection scan data, the method comprising: acquiring tomographic projection data of a moving object of interest; sorting the projection data according to a phase to generate phase-sorted projection data; loading the phase-sorted projection data; performing an iterative optimization procedure comprising; performing a volume sub-iteration of the phase-sorted projection data using one or more regularization parameters and one or more regularizers of a cost functional, wherein the one or more regularization parameters affect a strength of the one or more regularizers of the cost functional and wherein the one or more regularization parameters includes an optical flow constraint (OFC) strength and a volume regularization strength; performing a motion sub-iteration of the phase-sorted projection data using the one or more regularization parameters and the one or more regularizers of the cost functional, wherein the motion sub-iteration is based on a global in time deformation function to describe motion, wherein the deformation function encodes the direction and phase of the motion of voxels in the object of interest and wherein the phase of the motion is used for motion regularization; and repeating the iterative optimization procedure until a stopping criterion has been met.
 16. The method of claim 15, wherein the strength of the OFC changes non-monotonically during the iterative optimization procedure.
 17. The method of claim 15, wherein the strength of the OFC increases during the iterative optimization procedure and the strength of the volume regularization decreases during the iterative optimization procedure.
 18. The method of claim 15, wherein the volume sub-iterations use motion vector fields (MVF) between phase images to describe motion.
 19. One or more non-transitory computer-readable media having computer-executable instructions for performing a method of running a software program on a computing device for motion estimation and compensation of a CT image, the computing device operating under an operating system, the method including issuing instructions from the software program comprising: acquiring tomographic projection data of a moving object of interest; sorting the projection data according to a phase to generate phase-sorted projection data; loading the phase-sorted projection data; performing an iterative optimization procedure comprising; changing one or more regularization parameters during the iterative optimization procedure, wherein the one or more regularization parameters affect a strength of one or more regularizers of a cost functional and wherein the one or more regularization parameters includes an optical flow constraint (OFC) strength and a volume regularization strength; performing a volume sub-iteration of the phase-sorted projection data using the one or more regularization parameters and the one or more regularizers of the cost functional; performing a motion sub-iteration of the phase-sorted projection data using the one or more regularization parameters and the one or more regularizers of the cost functional; and repeating the iterative optimization procedure until a stopping criterion has been met.
 20. The media of claim 19, wherein the strength of the OFC increases during the optimization procedure and the strength of the volume regularization decreases during the iterative optimization procedure.
 21. The media of claim 19, wherein the one or more of the regularization parameters are changed non-monotonically during the iterative optimization procedure.
 22. The media of claim 19, wherein the motion sub-iteration is based on motion vector fields to describe motion.
 23. The media of claim 19, wherein the motion sub-iteration is based on a global in time motion function to describe motion.
 24. A system for motion estimation and compensation using projection data of an imaged object of interest, the system comprising: a memory for storing projection data of an object of interest; a data processor for estimating and compensating for motion in the projection data, wherein the data processor is adapted for performing the following operations: sorting the projection data according to a phase to generate phase-sorted projection data; loading the phase-sorted projection data; performing an iterative optimization procedure comprising; changing one or more regularization parameters during the iterative optimization procedure, wherein the one or more regularization parameters affect a strength of one or more regularizers of a cost functional and wherein the one or more regularization parameters includes an optical flow constraint (OFC) strength and a volume regularization strength; performing a volume sub-iteration of the phase-sorted projection data using the one or more regularization parameters and the one or more regularizers of the cost functional; performing a motion sub-iteration of the phase-sorted projection data using the one or more regularization parameters and the one or more regularizers of the cost functional; and repeating the iterative optimization procedure until a stopping criterion has been met.
 25. The system of claim 24 wherein the motion sub-iteration is based on motion vector fields to describe motion or on a global in time motion function to describe motion. 